---
title: IstioOperator Options
description: Configuration affecting Istio control plane installation version and shape.
location: https://istio.io/docs/reference/config/istio.operator.v1alpha1.html
layout: protoc-gen-docs
generator: protoc-gen-docs
weight: 20
number_of_entries: 63
---
<p>Configuration affecting Istio control plane installation version and shape.</p>

<h2 id="IstioOperatorSpec">IstioOperatorSpec</h2>
<section>
<p>IstioOperatorSpec defines the desired installed state of Istio components.
The spec is a used to define a customization of the default profile values that are supplied with each Istio release.
Because the spec is a customization API, specifying an empty IstioOperatorSpec results in a default Istio
component values.</p>

<pre><code class="language-yaml">apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  profile: default
  hub: gcr.io/istio-testing
  tag: latest
  revision: 1-8-0
  meshConfig:
    accessLogFile: /dev/stdout
    enableTracing: true
  components:
    egressGateways:
    - name: istio-egressgateway
      enabled: true
</code></pre>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="IstioOperatorSpec-profile">
<td><code>profile</code></td>
<td><code>string</code></td>
<td>
<p>Path or name for the profile e.g.</p>

<ul>
<li>minimal (looks in profiles dir for a file called minimal.yaml)</li>
<li>/tmp/istio/install/values/custom/custom-install.yaml (local file path)</li>
</ul>

<p>default profile is used if this field is unset.</p>

</td>
<td>
No
</td>
</tr>
<tr id="IstioOperatorSpec-install_package_path">
<td><code>installPackagePath</code></td>
<td><code>string</code></td>
<td>
<p>Path for the install package. e.g.</p>

<ul>
<li>/tmp/istio-installer/nightly (local file path)</li>
</ul>

</td>
<td>
No
</td>
</tr>
<tr id="IstioOperatorSpec-hub">
<td><code>hub</code></td>
<td><code>string</code></td>
<td>
<p>Root for docker image paths e.g. <code>docker.io/istio</code></p>

</td>
<td>
No
</td>
</tr>
<tr id="IstioOperatorSpec-tag">
<td><code>tag</code></td>
<td><code><a href="#TypeInterface">TypeInterface</a></code></td>
<td>
<p>Version tag for docker images e.g. <code>1.7.2</code></p>

</td>
<td>
No
</td>
</tr>
<tr id="IstioOperatorSpec-namespace">
<td><code>namespace</code></td>
<td><code>string</code></td>
<td>
<p>Namespace to install control plane resources into. If unset, Istio will be installed into the same namespace
as the <code>IstioOperator</code> CR. You must also set <code>values.global.istioNamespace</code> if you wish to install Istio in
a custom namespace.
If you have enabled CNI, you must  exclude this namespace by adding it to the list <code>values.cni.excludeNamespaces</code>.</p>

</td>
<td>
No
</td>
</tr>
<tr id="IstioOperatorSpec-revision">
<td><code>revision</code></td>
<td><code>string</code></td>
<td>
<p>Identify the revision this installation is associated with.
This option is currently experimental.</p>

</td>
<td>
No
</td>
</tr>
<tr id="IstioOperatorSpec-default_revision">
<td><code>defaultRevision</code></td>
<td><code>bool</code></td>
<td>
<p>Identify whether this revision is the default revision for the cluster
This option is currently experimental.</p>

</td>
<td>
No
</td>
</tr>
<tr id="IstioOperatorSpec-mesh_config">
<td><code>meshConfig</code></td>
<td><code><a href="#TypeMapStringInterface">TypeMapStringInterface</a></code></td>
<td>
<p>Config used by control plane components internally.</p>

</td>
<td>
No
</td>
</tr>
<tr id="IstioOperatorSpec-components">
<td><code>components</code></td>
<td><code><a href="#IstioComponentSetSpec">IstioComponentSetSpec</a></code></td>
<td>
<p>Kubernetes resource settings, enablement and component-specific settings that are not internal to the
component.</p>

</td>
<td>
No
</td>
</tr>
<tr id="IstioOperatorSpec-values">
<td><code>values</code></td>
<td><code><a href="#TypeMapStringInterface">TypeMapStringInterface</a></code></td>
<td>
<p>Overrides for default <code>values.yaml</code>. This is a validated pass-through to Helm templates.
See the <a href="https://istio.io/v1.5/docs/reference/config/installation-options/">Helm installation options</a> for schema details.
Anything that is available in <code>IstioOperatorSpec</code> should be set above rather than using the passthrough. This
includes Kubernetes resource settings for components in <code>KubernetesResourcesSpec</code>.</p>

</td>
<td>
No
</td>
</tr>
<tr id="IstioOperatorSpec-unvalidated_values">
<td><code>unvalidatedValues</code></td>
<td><code><a href="#TypeMapStringInterface">TypeMapStringInterface</a></code></td>
<td>
<p>Unvalidated overrides for default <code>values.yaml</code>. Used for custom templates where new parameters are added.</p>

</td>
<td>
No
</td>
</tr>
<tr id="IstioOperatorSpec-addon_components" class="deprecated ">
<td><code>addonComponents</code></td>
<td><code>map&lt;string,&nbsp;<a href="#ExternalComponentSpec">ExternalComponentSpec</a>&gt;</code></td>
<td>
<p>Deprecated.
Users should manage the installation of addon components on their own.
Refer to samples/addons for demo installation of addon components.</p>

</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="InstallStatus">InstallStatus</h2>
<section>
<p>Observed state of IstioOperator</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="InstallStatus-status">
<td><code>status</code></td>
<td><code><a href="#InstallStatus-Status">Status</a></code></td>
<td>
<p>Overall status of all components controlled by the operator.</p>

<ul>
<li>If all components have status <code>NONE</code>, overall status is <code>NONE</code>.</li>
<li>If all components are <code>HEALTHY</code>, overall status is <code>HEALTHY</code>.</li>
<li>If one or more components are <code>RECONCILING</code> and others are <code>HEALTHY</code>, overall status is <code>RECONCILING</code>.</li>
<li>If one or more components are <code>UPDATING</code> and others are <code>HEALTHY</code>, overall status is <code>UPDATING</code>.</li>
<li>If components are a mix of <code>RECONCILING</code>, <code>UPDATING</code> and <code>HEALTHY</code>, overall status is <code>UPDATING</code>.</li>
<li>If any component is in <code>ERROR</code> state, overall status is <code>ERROR</code>.</li>
<li>If further action is needed for reconciliation to proceed, overall status is <code>ACTION_REQUIRED</code>.</li>
</ul>

</td>
<td>
No
</td>
</tr>
<tr id="InstallStatus-message">
<td><code>message</code></td>
<td><code>string</code></td>
<td>
<p>Optional message providing additional information about the existing overall status.</p>

</td>
<td>
No
</td>
</tr>
<tr id="InstallStatus-component_status">
<td><code>componentStatus</code></td>
<td><code>map&lt;string,&nbsp;<a href="#InstallStatus-VersionStatus">VersionStatus</a>&gt;</code></td>
<td>
<p>Individual status of each component controlled by the operator. The map key is the name of the component.</p>

</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="IstioComponentSetSpec">IstioComponentSetSpec</h2>
<section>
<p>IstioComponentSpec defines the desired installed state of Istio components.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="IstioComponentSetSpec-base">
<td><code>base</code></td>
<td><code><a href="#BaseComponentSpec">BaseComponentSpec</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="IstioComponentSetSpec-pilot">
<td><code>pilot</code></td>
<td><code><a href="#ComponentSpec">ComponentSpec</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="IstioComponentSetSpec-cni">
<td><code>cni</code></td>
<td><code><a href="#ComponentSpec">ComponentSpec</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="IstioComponentSetSpec-istiod_remote">
<td><code>istiodRemote</code></td>
<td><code><a href="#ComponentSpec">ComponentSpec</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="IstioComponentSetSpec-ingress_gateways">
<td><code>ingressGateways</code></td>
<td><code><a href="#GatewaySpec">GatewaySpec[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="IstioComponentSetSpec-egress_gateways">
<td><code>egressGateways</code></td>
<td><code><a href="#GatewaySpec">GatewaySpec[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="BaseComponentSpec">BaseComponentSpec</h2>
<section>
<p>Configuration for base component.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="BaseComponentSpec-enabled">
<td><code>enabled</code></td>
<td><code><a href="#TypeBoolValueForPB">TypeBoolValueForPB</a></code></td>
<td>
<p>Selects whether this component is installed.</p>

</td>
<td>
No
</td>
</tr>
<tr id="BaseComponentSpec-k8s">
<td><code>k8s</code></td>
<td><code><a href="#KubernetesResourcesSpec">KubernetesResourcesSpec</a></code></td>
<td>
<p>Kubernetes resource spec.</p>

</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ComponentSpec">ComponentSpec</h2>
<section>
<p>Configuration for internal components.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ComponentSpec-enabled">
<td><code>enabled</code></td>
<td><code><a href="#TypeBoolValueForPB">TypeBoolValueForPB</a></code></td>
<td>
<p>Selects whether this component is installed.</p>

</td>
<td>
No
</td>
</tr>
<tr id="ComponentSpec-namespace">
<td><code>namespace</code></td>
<td><code>string</code></td>
<td>
<p>Namespace for the component.</p>

</td>
<td>
No
</td>
</tr>
<tr id="ComponentSpec-hub">
<td><code>hub</code></td>
<td><code>string</code></td>
<td>
<p>Hub for the component (overrides top level hub setting).</p>

</td>
<td>
No
</td>
</tr>
<tr id="ComponentSpec-tag">
<td><code>tag</code></td>
<td><code><a href="#TypeInterface">TypeInterface</a></code></td>
<td>
<p>Tag for the component (overrides top level tag setting).</p>

</td>
<td>
No
</td>
</tr>
<tr id="ComponentSpec-spec">
<td><code>spec</code></td>
<td><code><a href="#TypeInterface">TypeInterface</a></code></td>
<td>
<p>Arbitrary install time configuration for the component.</p>

</td>
<td>
No
</td>
</tr>
<tr id="ComponentSpec-k8s">
<td><code>k8s</code></td>
<td><code><a href="#KubernetesResourcesSpec">KubernetesResourcesSpec</a></code></td>
<td>
<p>Kubernetes resource spec.</p>

</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ExternalComponentSpec">ExternalComponentSpec</h2>
<section>
<p>Configuration for external components.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ExternalComponentSpec-enabled">
<td><code>enabled</code></td>
<td><code><a href="#TypeBoolValueForPB">TypeBoolValueForPB</a></code></td>
<td>
<p>Selects whether this component is installed.</p>

</td>
<td>
No
</td>
</tr>
<tr id="ExternalComponentSpec-namespace">
<td><code>namespace</code></td>
<td><code>string</code></td>
<td>
<p>Namespace for the component.</p>

</td>
<td>
No
</td>
</tr>
<tr id="ExternalComponentSpec-spec">
<td><code>spec</code></td>
<td><code><a href="#TypeInterface">TypeInterface</a></code></td>
<td>
<p>Arbitrary install time configuration for the component.</p>

</td>
<td>
No
</td>
</tr>
<tr id="ExternalComponentSpec-chart_path">
<td><code>chartPath</code></td>
<td><code>string</code></td>
<td>
<p>Chart path for addon components.</p>

</td>
<td>
No
</td>
</tr>
<tr id="ExternalComponentSpec-schema">
<td><code>schema</code></td>
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#any">Any</a></code></td>
<td>
<p>Optional schema to validate spec against.</p>

</td>
<td>
No
</td>
</tr>
<tr id="ExternalComponentSpec-k8s">
<td><code>k8s</code></td>
<td><code><a href="#KubernetesResourcesSpec">KubernetesResourcesSpec</a></code></td>
<td>
<p>Kubernetes resource spec.</p>

</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="GatewaySpec">GatewaySpec</h2>
<section>
<p>Configuration for gateways.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="GatewaySpec-enabled">
<td><code>enabled</code></td>
<td><code><a href="#TypeBoolValueForPB">TypeBoolValueForPB</a></code></td>
<td>
<p>Selects whether this gateway is installed.</p>

</td>
<td>
No
</td>
</tr>
<tr id="GatewaySpec-namespace">
<td><code>namespace</code></td>
<td><code>string</code></td>
<td>
<p>Namespace for the gateway.</p>

</td>
<td>
No
</td>
</tr>
<tr id="GatewaySpec-name">
<td><code>name</code></td>
<td><code>string</code></td>
<td>
<p>Name for the gateway.</p>

</td>
<td>
No
</td>
</tr>
<tr id="GatewaySpec-label">
<td><code>label</code></td>
<td><code>map&lt;string,&nbsp;string&gt;</code></td>
<td>
<p>Labels for the gateway.</p>

</td>
<td>
No
</td>
</tr>
<tr id="GatewaySpec-hub">
<td><code>hub</code></td>
<td><code>string</code></td>
<td>
<p>Hub for the component (overrides top level hub setting).</p>

</td>
<td>
No
</td>
</tr>
<tr id="GatewaySpec-tag">
<td><code>tag</code></td>
<td><code><a href="#TypeInterface">TypeInterface</a></code></td>
<td>
<p>Tag for the component (overrides top level tag setting).</p>

</td>
<td>
No
</td>
</tr>
<tr id="GatewaySpec-k8s">
<td><code>k8s</code></td>
<td><code><a href="#KubernetesResourcesSpec">KubernetesResourcesSpec</a></code></td>
<td>
<p>Kubernetes resource spec.</p>

</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="KubernetesResourcesSpec">KubernetesResourcesSpec</h2>
<section>
<p>KubernetesResourcesConfig is a common set of k8s resource configs for components.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="KubernetesResourcesSpec-affinity">
<td><code>affinity</code></td>
<td><code><a href="#Affinity">Affinity</a></code></td>
<td>
<p>k8s affinity.
<a href="https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity">https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-env">
<td><code>env</code></td>
<td><code><a href="#EnvVar">EnvVar[]</a></code></td>
<td>
<p>Deployment environment variables.
<a href="https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/">https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-hpa_spec">
<td><code>hpaSpec</code></td>
<td><code><a href="#HorizontalPodAutoscalerSpec">HorizontalPodAutoscalerSpec</a></code></td>
<td>
<p>k8s HorizontalPodAutoscaler settings.
<a href="https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/">https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-image_pull_policy">
<td><code>imagePullPolicy</code></td>
<td><code>string</code></td>
<td>
<p>k8s imagePullPolicy.
<a href="https://kubernetes.io/docs/concepts/containers/images/">https://kubernetes.io/docs/concepts/containers/images/</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-node_selector">
<td><code>nodeSelector</code></td>
<td><code>map&lt;string,&nbsp;string&gt;</code></td>
<td>
<p>k8s nodeSelector.
<a href="https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector">https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-pod_disruption_budget">
<td><code>podDisruptionBudget</code></td>
<td><code><a href="#PodDisruptionBudgetSpec">PodDisruptionBudgetSpec</a></code></td>
<td>
<p>k8s PodDisruptionBudget settings.
<a href="https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work">https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-pod_annotations">
<td><code>podAnnotations</code></td>
<td><code>map&lt;string,&nbsp;string&gt;</code></td>
<td>
<p>k8s pod annotations.
<a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/">https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-priority_class_name">
<td><code>priorityClassName</code></td>
<td><code>string</code></td>
<td>
<p>k8s priority<em>class</em>name. Default for all resources unless overridden.
<a href="https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass">https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-readiness_probe">
<td><code>readinessProbe</code></td>
<td><code><a href="#ReadinessProbe">ReadinessProbe</a></code></td>
<td>
<p>k8s readinessProbe settings.
<a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/">https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/</a>
k8s.io.api.core.v1.Probe readiness_probe = 9;</p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-replica_count">
<td><code>replicaCount</code></td>
<td><code>uint32</code></td>
<td>
<p>k8s Deployment replicas setting.
<a href="https://kubernetes.io/docs/concepts/workloads/controllers/deployment/">https://kubernetes.io/docs/concepts/workloads/controllers/deployment/</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-resources">
<td><code>resources</code></td>
<td><code><a href="#Resources">Resources</a></code></td>
<td>
<p>k8s resources settings.
<a href="https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container">https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-service">
<td><code>service</code></td>
<td><code><a href="#ServiceSpec">ServiceSpec</a></code></td>
<td>
<p>k8s Service settings.
<a href="https://kubernetes.io/docs/concepts/services-networking/service/">https://kubernetes.io/docs/concepts/services-networking/service/</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-strategy">
<td><code>strategy</code></td>
<td><code><a href="#DeploymentStrategy">DeploymentStrategy</a></code></td>
<td>
<p>k8s deployment strategy.
<a href="https://kubernetes.io/docs/concepts/workloads/controllers/deployment/">https://kubernetes.io/docs/concepts/workloads/controllers/deployment/</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-tolerations">
<td><code>tolerations</code></td>
<td><code><a href="#Toleration">Toleration[]</a></code></td>
<td>
<p>k8s toleration
<a href="https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/">https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-service_annotations">
<td><code>serviceAnnotations</code></td>
<td><code>map&lt;string,&nbsp;string&gt;</code></td>
<td>
<p>k8s service annotations.
<a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/">https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-securityContext">
<td><code>securityContext</code></td>
<td><code><a href="#PodSecurityContext">PodSecurityContext</a></code></td>
<td>
<p>k8s pod security context
<a href="https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod">https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod</a></p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-volumes">
<td><code>volumes</code></td>
<td><code><a href="#k8s-io-api-core-v1-Volume">Volume[]</a></code></td>
<td>
<p>k8s volume
<a href="https://kubernetes.io/docs/concepts/storage/volumes/">https://kubernetes.io/docs/concepts/storage/volumes/</a>
Volumes defines the collection of Volume to inject into the pod.</p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-volumeMounts">
<td><code>volumeMounts</code></td>
<td><code><a href="#k8s-io-api-core-v1-VolumeMount">VolumeMount[]</a></code></td>
<td>
<p>k8s volumeMounts
VolumeMounts defines the collection of VolumeMount to inject into containers.</p>

</td>
<td>
No
</td>
</tr>
<tr id="KubernetesResourcesSpec-overlays">
<td><code>overlays</code></td>
<td><code><a href="#K8sObjectOverlay">K8sObjectOverlay[]</a></code></td>
<td>
<p>Overlays for k8s resources in rendered manifests.</p>

</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="K8sObjectOverlay">K8sObjectOverlay</h2>
<section>
<p>Patch for an existing k8s resource.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="K8sObjectOverlay-api_version">
<td><code>apiVersion</code></td>
<td><code>string</code></td>
<td>
<p>Resource API version.</p>

</td>
<td>
No
</td>
</tr>
<tr id="K8sObjectOverlay-kind">
<td><code>kind</code></td>
<td><code>string</code></td>
<td>
<p>Resource kind.</p>

</td>
<td>
No
</td>
</tr>
<tr id="K8sObjectOverlay-name">
<td><code>name</code></td>
<td><code>string</code></td>
<td>
<p>Name of resource.
Namespace is always the component namespace.</p>

</td>
<td>
No
</td>
</tr>
<tr id="K8sObjectOverlay-patches">
<td><code>patches</code></td>
<td><code><a href="#K8sObjectOverlay-PathValue">PathValue[]</a></code></td>
<td>
<p>List of patches to apply to resource.</p>

</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="Affinity">Affinity</h2>
<section>
<p>See k8s.io.api.core.v1.Affinity.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="Affinity-nodeAffinity">
<td><code>nodeAffinity</code></td>
<td><code><a href="#NodeAffinity">NodeAffinity</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="Affinity-podAffinity">
<td><code>podAffinity</code></td>
<td><code><a href="#PodAffinity">PodAffinity</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="Affinity-podAntiAffinity">
<td><code>podAntiAffinity</code></td>
<td><code><a href="#PodAntiAffinity">PodAntiAffinity</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ConfigMapKeySelector">ConfigMapKeySelector</h2>
<section>
<p>See k8s.io.api.core.v1.ConfigMapKeySelector.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ConfigMapKeySelector-localObjectReference">
<td><code>localObjectReference</code></td>
<td><code><a href="#LocalObjectReference">LocalObjectReference</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ConfigMapKeySelector-key">
<td><code>key</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ConfigMapKeySelector-optional">
<td><code>optional</code></td>
<td><code>bool</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ClientIPConfig">ClientIPConfig</h2>
<section>
<p>See k8s.io.api.core.v1.ClientIPConfig.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ClientIPConfig-timeoutSeconds">
<td><code>timeoutSeconds</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="CrossVersionObjectReference">CrossVersionObjectReference</h2>
<section>
<p>See k8s.io.api.autoscaling.v2beta2.CrossVersionObjectReference.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="CrossVersionObjectReference-kind">
<td><code>kind</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="CrossVersionObjectReference-name">
<td><code>name</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="CrossVersionObjectReference-apiVersion">
<td><code>apiVersion</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="DeploymentStrategy">DeploymentStrategy</h2>
<section>
<p>See k8s.io.api.apps.v1.DeploymentStrategy.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="DeploymentStrategy-type">
<td><code>type</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="DeploymentStrategy-rollingUpdate">
<td><code>rollingUpdate</code></td>
<td><code><a href="#RollingUpdateDeployment">RollingUpdateDeployment</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="EnvVar">EnvVar</h2>
<section>
<p>See k8s.io.api.core.v1.EnvVar.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="EnvVar-name">
<td><code>name</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="EnvVar-value">
<td><code>value</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="EnvVar-valueFrom">
<td><code>valueFrom</code></td>
<td><code><a href="#EnvVarSource">EnvVarSource</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="EnvVarSource">EnvVarSource</h2>
<section>
<p>See k8s.io.api.core.v1.EnvVarSource.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="EnvVarSource-fieldRef">
<td><code>fieldRef</code></td>
<td><code><a href="#ObjectFieldSelector">ObjectFieldSelector</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="EnvVarSource-resourceFieldRef">
<td><code>resourceFieldRef</code></td>
<td><code><a href="#ResourceFieldSelector">ResourceFieldSelector</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="EnvVarSource-configMapKeyRef">
<td><code>configMapKeyRef</code></td>
<td><code><a href="#ConfigMapKeySelector">ConfigMapKeySelector</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="EnvVarSource-secretKeyRef">
<td><code>secretKeyRef</code></td>
<td><code><a href="#SecretKeySelector">SecretKeySelector</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ExecAction">ExecAction</h2>
<section>
<p>See k8s.io.api.core.v1.ExecAction.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ExecAction-command">
<td><code>command</code></td>
<td><code>string[]</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ExternalMetricSource">ExternalMetricSource</h2>
<section>
<p>See k8s.io.api.autoscaling.v2beta2.CrossVersionObjectReference.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ExternalMetricSource-metricName">
<td><code>metricName</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ExternalMetricSource-metricSelector">
<td><code>metricSelector</code></td>
<td><code><a href="#k8s-io-apimachinery-pkg-apis-meta-v1-LabelSelector">LabelSelector</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ExternalMetricSource-targetValue">
<td><code>targetValue</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ExternalMetricSource-targetAverageValue">
<td><code>targetAverageValue</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="HTTPGetAction">HTTPGetAction</h2>
<section>
<p>See k8s.io.api.core.v1.HTTPGetAction.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="HTTPGetAction-path">
<td><code>path</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="HTTPGetAction-port">
<td><code>port</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="HTTPGetAction-host">
<td><code>host</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="HTTPGetAction-scheme">
<td><code>scheme</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="HTTPGetAction-httpHeaders">
<td><code>httpHeaders</code></td>
<td><code><a href="#HTTPHeader">HTTPHeader[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="HTTPHeader">HTTPHeader</h2>
<section>
<p>See k8s.io.api.core.v1.HTTPHeader.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="HTTPHeader-name">
<td><code>name</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="HTTPHeader-value">
<td><code>value</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="HorizontalPodAutoscalerSpec">HorizontalPodAutoscalerSpec</h2>
<section>
<p>See k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="HorizontalPodAutoscalerSpec-scaleTargetRef">
<td><code>scaleTargetRef</code></td>
<td><code><a href="#CrossVersionObjectReference">CrossVersionObjectReference</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="HorizontalPodAutoscalerSpec-minReplicas">
<td><code>minReplicas</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="HorizontalPodAutoscalerSpec-maxReplicas">
<td><code>maxReplicas</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="HorizontalPodAutoscalerSpec-metrics">
<td><code>metrics</code></td>
<td><code><a href="#MetricSpec">MetricSpec[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="LocalObjectReference">LocalObjectReference</h2>
<section>
<p>See k8s.io.api.core.v1.LocalObjectReference.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="LocalObjectReference-name">
<td><code>name</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="MetricSpec">MetricSpec</h2>
<section>
<p>See k8s.io.autoscaling.v2beta1.MetricSpec.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="MetricSpec-type">
<td><code>type</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="MetricSpec-object">
<td><code>object</code></td>
<td><code><a href="#ObjectMetricSource">ObjectMetricSource</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="MetricSpec-pods">
<td><code>pods</code></td>
<td><code><a href="#PodsMetricSource">PodsMetricSource</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="MetricSpec-resource">
<td><code>resource</code></td>
<td><code><a href="#ResourceMetricSource">ResourceMetricSource</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="MetricSpec-external">
<td><code>external</code></td>
<td><code><a href="#ExternalMetricSource">ExternalMetricSource</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="NodeAffinity">NodeAffinity</h2>
<section>
<p>See k8s.io.api.core.v1.NodeAffinity.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="NodeAffinity-requiredDuringSchedulingIgnoredDuringExecution">
<td><code>requiredDuringSchedulingIgnoredDuringExecution</code></td>
<td><code><a href="#NodeSelector">NodeSelector</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="NodeAffinity-preferredDuringSchedulingIgnoredDuringExecution">
<td><code>preferredDuringSchedulingIgnoredDuringExecution</code></td>
<td><code><a href="#PreferredSchedulingTerm">PreferredSchedulingTerm[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="NodeSelector">NodeSelector</h2>
<section>
<p>See k8s.io.api.core.v1.NodeSelector.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="NodeSelector-nodeSelectorTerms">
<td><code>nodeSelectorTerms</code></td>
<td><code><a href="#NodeSelectorTerm">NodeSelectorTerm[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="NodeSelectorTerm">NodeSelectorTerm</h2>
<section>
<p>See k8s.io.api.core.v1.NodeSelectorTerm.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="NodeSelectorTerm-matchExpressions">
<td><code>matchExpressions</code></td>
<td><code><a href="#NodeSelectorRequirement">NodeSelectorRequirement[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="NodeSelectorTerm-matchFields">
<td><code>matchFields</code></td>
<td><code><a href="#NodeSelectorRequirement">NodeSelectorRequirement[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="NodeSelectorRequirement">NodeSelectorRequirement</h2>
<section>
<p>See k8s.io.api.core.v1.NodeSelectorRequirement.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="NodeSelectorRequirement-key">
<td><code>key</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="NodeSelectorRequirement-operator">
<td><code>operator</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="NodeSelectorRequirement-values">
<td><code>values</code></td>
<td><code>string[]</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ObjectFieldSelector">ObjectFieldSelector</h2>
<section>
<p>See k8s.io.api.core.v1.ObjectFieldSelector.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ObjectFieldSelector-apiVersion">
<td><code>apiVersion</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ObjectFieldSelector-fieldPath">
<td><code>fieldPath</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ObjectMeta">ObjectMeta</h2>
<section>
<p>From k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ObjectMeta-name">
<td><code>name</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ObjectMeta-namespace">
<td><code>namespace</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ObjectMetricSource">ObjectMetricSource</h2>
<section>
<p>See k8s.io.autoscaling.v2beta1.ObjectMetricSource.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ObjectMetricSource-target">
<td><code>target</code></td>
<td><code><a href="#CrossVersionObjectReference">CrossVersionObjectReference</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ObjectMetricSource-metricName">
<td><code>metricName</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ObjectMetricSource-targetValue">
<td><code>targetValue</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ObjectMetricSource-selector">
<td><code>selector</code></td>
<td><code><a href="#k8s-io-apimachinery-pkg-apis-meta-v1-LabelSelector">LabelSelector</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ObjectMetricSource-averageValue">
<td><code>averageValue</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="PodAffinity">PodAffinity</h2>
<section>
<p>See k8s.io.api.core.v1.PodAffinity.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="PodAffinity-requiredDuringSchedulingIgnoredDuringExecution">
<td><code>requiredDuringSchedulingIgnoredDuringExecution</code></td>
<td><code><a href="#PodAffinityTerm">PodAffinityTerm[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodAffinity-preferredDuringSchedulingIgnoredDuringExecution">
<td><code>preferredDuringSchedulingIgnoredDuringExecution</code></td>
<td><code><a href="#WeightedPodAffinityTerm">WeightedPodAffinityTerm[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="PodAntiAffinity">PodAntiAffinity</h2>
<section>
<p>See k8s.io.api.core.v1.PodAntiAffinity.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="PodAntiAffinity-requiredDuringSchedulingIgnoredDuringExecution">
<td><code>requiredDuringSchedulingIgnoredDuringExecution</code></td>
<td><code><a href="#PodAffinityTerm">PodAffinityTerm[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodAntiAffinity-preferredDuringSchedulingIgnoredDuringExecution">
<td><code>preferredDuringSchedulingIgnoredDuringExecution</code></td>
<td><code><a href="#WeightedPodAffinityTerm">WeightedPodAffinityTerm[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="PodAffinityTerm">PodAffinityTerm</h2>
<section>
<p>See k8s.io.api.core.v1.PodAntiAffinity.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="PodAffinityTerm-labelSelector">
<td><code>labelSelector</code></td>
<td><code><a href="#k8s-io-apimachinery-pkg-apis-meta-v1-LabelSelector">LabelSelector</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodAffinityTerm-namespaces">
<td><code>namespaces</code></td>
<td><code>string[]</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodAffinityTerm-topologyKey">
<td><code>topologyKey</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="PodDisruptionBudgetSpec">PodDisruptionBudgetSpec</h2>
<section>
<p>See k8s.io.api.policy.v1beta1.PodDisruptionBudget.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="PodDisruptionBudgetSpec-minAvailable">
<td><code>minAvailable</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodDisruptionBudgetSpec-selector">
<td><code>selector</code></td>
<td><code><a href="#k8s-io-apimachinery-pkg-apis-meta-v1-LabelSelector">LabelSelector</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodDisruptionBudgetSpec-maxUnavailable">
<td><code>maxUnavailable</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="PodsMetricSource">PodsMetricSource</h2>
<section>
<p>See k8s.io.api.core.v1.PodsMetricSource.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="PodsMetricSource-metricName">
<td><code>metricName</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodsMetricSource-targetAverageValue">
<td><code>targetAverageValue</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodsMetricSource-selector">
<td><code>selector</code></td>
<td><code><a href="#k8s-io-apimachinery-pkg-apis-meta-v1-LabelSelector">LabelSelector</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="PreferredSchedulingTerm">PreferredSchedulingTerm</h2>
<section>
<p>See k8s.io.api.core.v1.PreferredSchedulingTerm.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="PreferredSchedulingTerm-weight">
<td><code>weight</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PreferredSchedulingTerm-preference">
<td><code>preference</code></td>
<td><code><a href="#NodeSelectorTerm">NodeSelectorTerm</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ReadinessProbe">ReadinessProbe</h2>
<section>
<p>See k8s.io.api.core.v1.ReadinessProbe.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ReadinessProbe-exec">
<td><code>exec</code></td>
<td><code><a href="#ExecAction">ExecAction</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ReadinessProbe-httpGet">
<td><code>httpGet</code></td>
<td><code><a href="#HTTPGetAction">HTTPGetAction</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ReadinessProbe-tcpSocket">
<td><code>tcpSocket</code></td>
<td><code><a href="#TCPSocketAction">TCPSocketAction</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ReadinessProbe-initialDelaySeconds">
<td><code>initialDelaySeconds</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ReadinessProbe-timeoutSeconds">
<td><code>timeoutSeconds</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ReadinessProbe-periodSeconds">
<td><code>periodSeconds</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ReadinessProbe-successThreshold">
<td><code>successThreshold</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ReadinessProbe-failureThreshold">
<td><code>failureThreshold</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ResourceFieldSelector">ResourceFieldSelector</h2>
<section>
<p>See k8s.io.api.core.v1..</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ResourceFieldSelector-containerName">
<td><code>containerName</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ResourceFieldSelector-resource">
<td><code>resource</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ResourceFieldSelector-divisor">
<td><code>divisor</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ResourceMetricSource">ResourceMetricSource</h2>
<section>
<p>See k8s.io.api.core.v1.ResourceMetricSource.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ResourceMetricSource-name">
<td><code>name</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ResourceMetricSource-targetAverageUtilization">
<td><code>targetAverageUtilization</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ResourceMetricSource-targetAverageValue">
<td><code>targetAverageValue</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="Resources">Resources</h2>
<section>
<p>See k8s.io.api.core.v1.ResourceRequirements.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="Resources-limits">
<td><code>limits</code></td>
<td><code>map&lt;string,&nbsp;string&gt;</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="Resources-requests">
<td><code>requests</code></td>
<td><code>map&lt;string,&nbsp;string&gt;</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="RollingUpdateDeployment">RollingUpdateDeployment</h2>
<section>
<p>See k8s.io.api.apps.v1.RollingUpdateDeployment.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="RollingUpdateDeployment-maxUnavailable">
<td><code>maxUnavailable</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="RollingUpdateDeployment-maxSurge">
<td><code>maxSurge</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="SecretKeySelector">SecretKeySelector</h2>
<section>
<p>See k8s.io.api.core.v1.SecretKeySelector.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="SecretKeySelector-localObjectReference">
<td><code>localObjectReference</code></td>
<td><code><a href="#LocalObjectReference">LocalObjectReference</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="SecretKeySelector-key">
<td><code>key</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="SecretKeySelector-optional">
<td><code>optional</code></td>
<td><code>bool</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ServiceSpec">ServiceSpec</h2>
<section>
<p>See k8s.io.api.core.v1.ServiceSpec.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ServiceSpec-ports">
<td><code>ports</code></td>
<td><code><a href="#ServicePort">ServicePort[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServiceSpec-selector">
<td><code>selector</code></td>
<td><code>map&lt;string,&nbsp;string&gt;</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServiceSpec-clusterIP">
<td><code>clusterIP</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServiceSpec-type">
<td><code>type</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServiceSpec-externalIPs">
<td><code>externalIPs</code></td>
<td><code>string[]</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServiceSpec-sessionAffinity">
<td><code>sessionAffinity</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServiceSpec-loadBalancerIP">
<td><code>loadBalancerIP</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServiceSpec-loadBalancerSourceRanges">
<td><code>loadBalancerSourceRanges</code></td>
<td><code>string[]</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServiceSpec-externalName">
<td><code>externalName</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServiceSpec-externalTrafficPolicy">
<td><code>externalTrafficPolicy</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServiceSpec-healthCheckNodePort">
<td><code>healthCheckNodePort</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServiceSpec-publishNotReadyAddresses">
<td><code>publishNotReadyAddresses</code></td>
<td><code>bool</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServiceSpec-sessionAffinityConfig">
<td><code>sessionAffinityConfig</code></td>
<td><code><a href="#SessionAffinityConfig">SessionAffinityConfig</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="ServicePort">ServicePort</h2>
<section>
<p>See k8s.io.api.core.v1..</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="ServicePort-name">
<td><code>name</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServicePort-protocol">
<td><code>protocol</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServicePort-port">
<td><code>port</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServicePort-targetPort">
<td><code>targetPort</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="ServicePort-nodePort">
<td><code>nodePort</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="SessionAffinityConfig">SessionAffinityConfig</h2>
<section>
<p>See k8s.io.api.core.v1.SessionAffinityConfig.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="SessionAffinityConfig-clientIP">
<td><code>clientIP</code></td>
<td><code><a href="#ClientIPConfig">ClientIPConfig</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="TCPSocketAction">TCPSocketAction</h2>
<section>
<p>See k8s.io.api.core.v1.TCPSocketAction.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="TCPSocketAction-port">
<td><code>port</code></td>
<td><code><a href="#TypeIntOrStringForPB">TypeIntOrStringForPB</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="TCPSocketAction-host">
<td><code>host</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="Toleration">Toleration</h2>
<section>
<p>See k8s.io.api.core.v1.Toleration.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="Toleration-key">
<td><code>key</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="Toleration-operator">
<td><code>operator</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="Toleration-value">
<td><code>value</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="Toleration-effect">
<td><code>effect</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="Toleration-tolerationSeconds">
<td><code>tolerationSeconds</code></td>
<td><code>int64</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="WeightedPodAffinityTerm">WeightedPodAffinityTerm</h2>
<section>
<p>See k8s.io.api.core.v1.WeightedPodAffinityTerm.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="WeightedPodAffinityTerm-weight">
<td><code>weight</code></td>
<td><code>int32</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="WeightedPodAffinityTerm-podAffinityTerm">
<td><code>podAffinityTerm</code></td>
<td><code><a href="#PodAffinityTerm">PodAffinityTerm</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="PodSecurityContext">PodSecurityContext</h2>
<section>
<p>See k8s.io.api.core.v1.PodSecurityContext.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="PodSecurityContext-seLinuxOptions">
<td><code>seLinuxOptions</code></td>
<td><code><a href="#SELinuxOptions">SELinuxOptions</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodSecurityContext-runAsUser">
<td><code>runAsUser</code></td>
<td><code>int64</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodSecurityContext-runAsNonRoot">
<td><code>runAsNonRoot</code></td>
<td><code>bool</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodSecurityContext-supplementalGroups">
<td><code>supplementalGroups</code></td>
<td><code>int64[]</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodSecurityContext-fsGroup">
<td><code>fsGroup</code></td>
<td><code>int64</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodSecurityContext-runAsGroup">
<td><code>runAsGroup</code></td>
<td><code>int64</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodSecurityContext-sysctls">
<td><code>sysctls</code></td>
<td><code><a href="#Sysctl">Sysctl[]</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodSecurityContext-windowsOptions">
<td><code>windowsOptions</code></td>
<td><code><a href="#WindowsSecurityContextOptions">WindowsSecurityContextOptions</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodSecurityContext-fsGroupChangePolicy">
<td><code>fsGroupChangePolicy</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="PodSecurityContext-seccompProfile">
<td><code>seccompProfile</code></td>
<td><code><a href="#SeccompProfile">SeccompProfile</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="SELinuxOptions">SELinuxOptions</h2>
<section>
<p>See k8s.io.api.core.v1.SELinuxOptions.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="SELinuxOptions-user">
<td><code>user</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="SELinuxOptions-role">
<td><code>role</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="SELinuxOptions-type">
<td><code>type</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="SELinuxOptions-level">
<td><code>level</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="Sysctl">Sysctl</h2>
<section>
<p>See k8s.io.api.core.v1.Sysctl.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="Sysctl-name">
<td><code>name</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="Sysctl-value">
<td><code>value</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="WindowsSecurityContextOptions">WindowsSecurityContextOptions</h2>
<section>
<p>See k8s.io.api.core.v1.WindowsSecurityContextOptions.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="WindowsSecurityContextOptions-gmsaCredentialSpecName">
<td><code>gmsaCredentialSpecName</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="WindowsSecurityContextOptions-gmsaCredentialSpec">
<td><code>gmsaCredentialSpec</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="WindowsSecurityContextOptions-runAsUserName">
<td><code>runAsUserName</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="SeccompProfile">SeccompProfile</h2>
<section>
<p>See k8s.io.api.core.v1.SeccompProfile.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="SeccompProfile-type">
<td><code>type</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="SeccompProfile-localhostProfile">
<td><code>localhostProfile</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="TypeInterface">TypeInterface</h2>
<section>
<p>Synthetic type for generating Go structs.
GOTYPE: interface{}</p>

</section>
<h2 id="TypeMapStringInterface">TypeMapStringInterface</h2>
<section>
<p>Synthetic type for generating Go structs.
GOTYPE: map[string]interface{}</p>

</section>
<h2 id="TypeIntOrStringForPB">TypeIntOrStringForPB</h2>
<section>
<p>Synthetic type for generating Go structs.
GOTYPE: *IntOrStringForPB</p>

</section>
<h2 id="TypeBoolValueForPB">TypeBoolValueForPB</h2>
<section>
<p>Synthetic type for generating Go structs.
GOTYPE: *BoolValueForPB</p>

</section>
<h2 id="InstallStatus-VersionStatus">InstallStatus.VersionStatus</h2>
<section>
<p>VersionStatus is the status and version of a component.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="InstallStatus-VersionStatus-version">
<td><code>version</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="InstallStatus-VersionStatus-status">
<td><code>status</code></td>
<td><code><a href="#InstallStatus-Status">Status</a></code></td>
<td>
</td>
<td>
No
</td>
</tr>
<tr id="InstallStatus-VersionStatus-error">
<td><code>error</code></td>
<td><code>string</code></td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="K8sObjectOverlay-PathValue">K8sObjectOverlay.PathValue</h2>
<section>
<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="K8sObjectOverlay-PathValue-path">
<td><code>path</code></td>
<td><code>string</code></td>
<td>
<p>Path of the form a.[key1:value1].b.[:value2]
Where [key1:value1] is a selector for a key-value pair to identify a list element and [:value] is a value
selector to identify a list element in a leaf list.
All path intermediate nodes must exist.</p>

</td>
<td>
No
</td>
</tr>
<tr id="K8sObjectOverlay-PathValue-value">
<td><code>value</code></td>
<td><code><a href="#TypeInterface">TypeInterface</a></code></td>
<td>
<p>Value to add, delete or replace.
For add, the path should be a new leaf.
For delete, value should be unset.
For replace, path should reference an existing node.
All values are strings but are converted into appropriate type based on schema.</p>

</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="k8s-io-api-core-v1-Volume">k8s.io.api.core.v1.Volume</h2>
<section>
<p>Volume represents a named volume in a pod that may be accessed by any container in the pod.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="k8s-io-api-core-v1-Volume-name">
<td><code>name</code></td>
<td><code>string</code></td>
<td>
<p>Volume&rsquo;s name.
Must be a DNS_LABEL and unique within the pod.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names</p>

</td>
<td>
No
</td>
</tr>
<tr id="k8s-io-api-core-v1-Volume-volumeSource">
<td><code>volumeSource</code></td>
<td><code><a href="#k8s-io-api-core-v1-VolumeSource">VolumeSource</a></code></td>
<td>
<p>VolumeSource represents the location and type of the mounted volume.
If not specified, the Volume is implied to be an EmptyDir.
This implied behavior is deprecated and will be removed in a future version.</p>

</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="k8s-io-api-core-v1-VolumeMount">k8s.io.api.core.v1.VolumeMount</h2>
<section>
<p>VolumeMount describes a mounting of a Volume within a container.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="k8s-io-api-core-v1-VolumeMount-name">
<td><code>name</code></td>
<td><code>string</code></td>
<td>
<p>This must match the Name of a Volume.</p>

</td>
<td>
No
</td>
</tr>
<tr id="k8s-io-api-core-v1-VolumeMount-readOnly">
<td><code>readOnly</code></td>
<td><code>bool</code></td>
<td>
<p>Mounted read-only if true, read-write otherwise (false or unspecified).
Defaults to false.
+optional</p>

</td>
<td>
No
</td>
</tr>
<tr id="k8s-io-api-core-v1-VolumeMount-mountPath">
<td><code>mountPath</code></td>
<td><code>string</code></td>
<td>
<p>Path within the container at which the volume should be mounted.  Must
not contain &lsquo;:&rsquo;.</p>

</td>
<td>
No
</td>
</tr>
<tr id="k8s-io-api-core-v1-VolumeMount-subPath">
<td><code>subPath</code></td>
<td><code>string</code></td>
<td>
<p>Path within the volume from which the container&rsquo;s volume should be mounted.
Defaults to &ldquo;&rdquo; (volume&rsquo;s root).
+optional</p>

</td>
<td>
No
</td>
</tr>
<tr id="k8s-io-api-core-v1-VolumeMount-mountPropagation">
<td><code>mountPropagation</code></td>
<td><code>string</code></td>
<td>
<p>mountPropagation determines how mounts are propagated from the host
to container and the other way around.
When not set, MountPropagationNone is used.
This field is beta in 1.10.
+optional</p>

</td>
<td>
No
</td>
</tr>
<tr id="k8s-io-api-core-v1-VolumeMount-subPathExpr">
<td><code>subPathExpr</code></td>
<td><code>string</code></td>
<td>
<p>Expanded path within the volume from which the container&rsquo;s volume should be mounted.
Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container&rsquo;s environment.
Defaults to &ldquo;&rdquo; (volume&rsquo;s root).
SubPathExpr and SubPath are mutually exclusive.
This field is beta in 1.15.
+optional</p>

</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="k8s-io-apimachinery-pkg-apis-meta-v1-LabelSelector">k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector</h2>
<section>
<p>A label selector is a label query over a set of resources. The result of matchLabels and
matchExpressions are ANDed. An empty label selector matches all objects. A null
label selector matches no objects.</p>

<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="k8s-io-apimachinery-pkg-apis-meta-v1-LabelSelector-matchLabels">
<td><code>matchLabels</code></td>
<td><code>map&lt;string,&nbsp;string&gt;</code></td>
<td>
<p>matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is &ldquo;key&rdquo;, the
operator is &ldquo;In&rdquo;, and the values array contains only &ldquo;value&rdquo;. The requirements are ANDed.
+optional</p>

</td>
<td>
No
</td>
</tr>
<tr id="k8s-io-apimachinery-pkg-apis-meta-v1-LabelSelector-matchExpressions">
<td><code>matchExpressions</code></td>
<td><code><a href="#k8s-io-apimachinery-pkg-apis-meta-v1-LabelSelectorRequirement">LabelSelectorRequirement[]</a></code></td>
<td>
<p>matchExpressions is a list of label selector requirements. The requirements are ANDed.
+optional</p>

</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="InstallStatus-Status">InstallStatus.Status</h2>
<section>
<p>Status describes the current state of a component.</p>

<table class="enum-values">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr id="InstallStatus-Status-NONE">
<td><code>NONE</code></td>
<td>
<p>Component is not present.</p>

</td>
</tr>
<tr id="InstallStatus-Status-UPDATING">
<td><code>UPDATING</code></td>
<td>
<p>Component is being updated to a different version.</p>

</td>
</tr>
<tr id="InstallStatus-Status-RECONCILING">
<td><code>RECONCILING</code></td>
<td>
<p>Controller has started but not yet completed reconciliation loop for the component.</p>

</td>
</tr>
<tr id="InstallStatus-Status-HEALTHY">
<td><code>HEALTHY</code></td>
<td>
<p>Component is healthy.</p>

</td>
</tr>
<tr id="InstallStatus-Status-ERROR">
<td><code>ERROR</code></td>
<td>
<p>Component is in an error state.</p>

</td>
</tr>
<tr id="InstallStatus-Status-ACTION_REQUIRED">
<td><code>ACTION_REQUIRED</code></td>
<td>
<p>Overall status only and would not be set as a component status.
Action is needed from the user for reconciliation to proceed
e.g. There are proxies still pointing to the control plane revision when try to remove an <code>IstioOperator</code> CR.</p>

</td>
</tr>
</tbody>
</table>
</section>
